iT邦幫忙

DAY 1
2

發開相關系列 第 1

NuGet系列-建立自己的NuGet Server

  • 分享至 

  • xImage
  •  

說真的,管理自己或公司專案上寫的通用元件或javascript檔案是很麻煩的一件事,元件的安裝也是件麻煩事,而更新又是一個更麻煩的事,前陣子看到黑大的架設私房NuGet Server,感覺就像看到銀子彈一樣,最新就在公司架了起來,將元件都上傳到私人NuGet Server,三件麻煩事都解決了。
說真的,管理自己或公司專案上寫的通用元件或javascript檔案是很麻煩的一件事,元件的安裝也是件麻煩事,而更新又是一個更麻煩的事,前陣子看到黑大的架設私房NuGet Server,感覺就像看到銀子彈一樣,最新就在公司架了起來,將元件都上傳到私人NuGet Server,三件麻煩事都解決了。

安裝NuGet Server
1.NuGet Server必需透過NuGet下載,首先打開Visual Studio 2010。
2.建立空白網站應用程式專案。

3.安裝NuGet.Server,這一個版本跟官方的完全不同,是官方的非常精簡版,只有上架、下載、搜尋等等功能而以。

修改Web.Config

<appSettings><!--
            Set the value here to allow people to push/delete packages from the server.
            NOTE: This is a shared key (password) for all users.
        -->
    <add key="apiKey" value="B1EDB7E9-3C9D-4EFA-A5B7-778854809C35" />
    <!--
            Change the path to the packages folder. Default is ~/Packages.
            This can be a virtual or phsyical path.
        -->
    <add key="packagesPath" value="" />
</appSettings>

設定apiKey,apiKey的值一定要為GUID,可以使用Visual Studio>Tools>Create GUID工具產生,NuGet.Server的特性是所有人都可以下載nupkg檔案,但只有apiKey的人才能上傳nupkg檔,這一點與官方的操作模式相同,如果想要限制下載,可參考黑大的NuGet 1.5! 企業"私服"不是夢。
5.佈署到IIS上就完成了。

設定Package Sources

1.Package Sources選項設定可以從下列三個地方開啟:
I.Tools > Library Package Manager > Package Manager Settings > Package Sources
II.Tools > Options > Package Manager > Package Sources
III.於方案總管中在專案上按右鍵 > NuGet Package Manager > 左下角Settings按鈕 > Package Sources
2.輸入Package Source後新增

註:設定值是放在%USERPROFILE%\AppData\Roaming\NuGet\NuGet.Config,有考慮寫個批次檔或PowerShell去修改這個檔案,讓公司同事可以一鍵設定,但還沒寫。

3.之後就可以在NuGet Package Manager中看到自己上傳的元件。

備份與簡易管理
剛有說過NuGet.Server是非常精簡平台,連資料庫都沒有,完全以資料夾的方式管理,預設是放在~\Packages資料夾下,放一個nupkg就是新增,拿掉一個nupkg就是刪除,備份或要搬家只要複制資料夾下的所有nupkg就可以了。

原始發佈:http://www.dotblogs.com.tw/wadehuang36/archive/2011/10/06/nuget-server.aspx


下一篇
NuGet系列-使用NuGet Package Explorer建立nupkg檔
系列文
發開相關7
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
chiounan
iT邦研究生 1 級 ‧ 2011-10-13 10:54:51

可以簡單的介紹一下

NuGet Server

事做甚麼用的嗎? 謝謝您。
他是一個單純的repository還是具有版本控制等功能呢?

他是存放Library包的Server,有版本控制,但是是使用者自己決定版本號,可以使用NeGet Client下載安裝Library,有跟Visual Studio整合,可以比較輕鬆的將組件加入專案的參考中

我要留言

立即登入留言